<?php

namespace Application\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
//use Zend\Db\ResultSet\ResultSet;
use Zend\Db\Adapter\Adapter;
use Application\Form\Formularios;
use Application\Model\Entity\Procesa;
use Application\Model\Entity\Verificadorrequisitos;
//use Application\Db\AdapterTwo;

class FormularioController extends AbstractActionController
{
    public function indexAction()
    {
        return new ViewModel();
    }
    
    public function formulariosecAction()
    {
        $form = new Formularios("form");
        
        $this->dbAdapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter');
        $this->db2Adapter = $this->getServiceLocator()->get('Application\Db\AdapterTwo');
        $datos = $this->request->getPost();
        $mesa_entrada = $datos[mesa_oculto];

//***********************************************************************************************************	
//	$id_usuario = $datos[id_oculto];
//	$rol_usuario = $datos[rol_oculto];
//***********************************************************************************************************

        /*
        $solicitud = $this->dbAdapter->query("SELECT id_tipo_solicitud
                                              FROM solicitud_realizada
                                              WHERE mesa_entrada = $mesa_entrada",Adapter::QUERY_MODE_EXECUTE);
	*/
        $solicitud = $this->dbAdapter->query("SELECT id_tipo_solicitud, matricula, carrera
                                                     FROM solicitud_realizada
                                                     WHERE mesa_entrada = $mesa_entrada",Adapter::QUERY_MODE_EXECUTE);
        $solicitud = $solicitud->toArray();
        
        $procesa = new Procesa($mesa_entrada, $solicitud[0][id_tipo_solicitud], $this->dbAdapter, $this->db2Adapter);
        $datos_alumno = $procesa->ObtenerDatosAlumno(); 
         
        if ($solicitud[0][id_tipo_solicitud] == 1){ // CREDITOS
          $datos_formulario = $procesa->ObtenerDatosPorFormulario();
          $motivo = $procesa->ObtenerMotivo();
          $docadj = $procesa->ObtenerDocAdj();
        }
        if ($solicitud[0][id_tipo_solicitud] == 14){ // EXAMEN EXTRAORDINARIO
          $datos_formulario = $procesa->ObtenerDatosPorFormulario();
          $motivo = $procesa->ObtenerMotivo();
          $docadj = $procesa->ObtenerDocAdj(); 
          $form->get("asignatura_label")->setLabel("Asignatura: ".$datos_formulario[0][nombre_materia]);
          $form->get("profesor_label")->setLabel("Profesor: ".$datos_formulario[0][nombre_profesor]);
          $form->get("motivo_label")->setLabel("Motivo: ".$motivo[0][motivo]);
          $form->get("docadj_label")->setLabel("Documentos Adjuntos: ".$docadj[0][tipo_documento_anexo]);
        }
        
	$verif_req = new VerificadorRequisitos($mesa_entrada, $datos_alumno[0][cedula], $this->dbAdapter, $this->db2Adapter);
        $verificacion = $verif_req->VerificarRequisitos();
                       
        //se cargan a los labels los valores recuperados de la BD
        $form->get("apellido_label")->setLabel("Apellido: ".$datos_alumno[0][apellido]);
        $form->get("nombre_label")->setLabel("Nombre: ".$datos_alumno[0][nombre]);                    
        $form->get("cedula_label")->setLabel("Cedula: ".$datos_alumno[0][cedula]);  
        $form->get("matricula_label")->setLabel("Matricula: ".$solicitud[0][matricula]);
        $form->get("carrera_label")->setLabel("Carrera: ".$solicitud[0][carrera]);
        $form->get("telefono_label")->setLabel("Telefono: ".$datos_alumno[0][telefono]);
        $form->get("email_label")->setLabel("E-mail: ".$datos_alumno[0][email]);

//***********************************************************************************************************
//	$form->get('id_oculto')->setAttribute('value',$id_usuario);
//      $form->get('rol_oculto')->setAttribute('value',$rol_usuario);
//***********************************************************************************************************

 	$form->get('mesa_oculto')->setAttribute('value',$mesa_entrada);
 
        return new ViewModel(array("titulo"=>"Solicitud de Examen Extraordinario",
                                    "form"=> $form, "requisito"=>$verificacion,
                                    "url"=>$this->getRequest()->getBaseUrl()));
    }
    
    public function formulariodirAction()
    {
        $form = new Formularios("form");
        
        $this->dbAdapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter');
        $this->db2Adapter = $this->getServiceLocator()->get('Application\Db\AdapterTwo');
        $datos = $this->request->getPost();
        $mesa_entrada = $datos[mesa_oculto];

//***********************************************************************************************************
//	$id_usuario = $datos[id_oculto];
//	$rol_usuario = $datos[rol_oculto];
//***********************************************************************************************************

        $solicitud = $this->dbAdapter->query("SELECT id_tipo_solicitud, matricula, carrera
                                                FROM solicitud_realizada
                                                WHERE mesa_entrada = $mesa_entrada",Adapter::QUERY_MODE_EXECUTE);
        $solicitud = $solicitud->toArray();
        
        $procesa = new Procesa($mesa_entrada, $solicitud[0][id_tipo_solicitud], $this->dbAdapter, $this->db2Adapter);
        $datos_alumno = $procesa->ObtenerDatosAlumno(); 

	$verif_req = new VerificadorRequisitos($mesa_entrada, $datos_alumno[0][cedula], $this->dbAdapter, $this->db2Adapter);
        $verificacion = $verif_req->VerificarRequisitos();
         
        if ($solicitud[0][id_tipo_solicitud] == 1){ // CREDITOS
          $datos_formulario = $procesa->ObtenerDatosPorFormulario();
          $motivo = $procesa->ObtenerMotivo();
          $docadj = $procesa->ObtenerDocAdj();
        }
        if ($solicitud[0][id_tipo_solicitud] == 14){ // EXAMEN EXTRAORDINARIO
          $datos_formulario = $procesa->ObtenerDatosPorFormulario();
          $motivo = $procesa->ObtenerMotivo();
          $docadj = $procesa->ObtenerDocAdj(); 
          $form->get("asignatura_label")->setLabel("Asignatura: ".$datos_formulario[0][nombre_materia]);
          $form->get("profesor_label")->setLabel("Profesor: ".$datos_formulario[0][nombre_profesor]);
          $form->get("motivo_label")->setLabel("Motivo: ".$motivo[0][motivo]);
          $form->get("docadj_label")->setLabel("Documentos Adjuntos: ".$docadj[0][tipo_documento_anexo]);
        }
        
        //se cargan a los labels los valores recuperados de la BD
        $form->get("apellido_label")->setLabel("Apellido: ".$datos_alumno[0][apellido]);
        $form->get("nombre_label")->setLabel("Nombre: ".$datos_alumno[0][nombre]);                    
        $form->get("cedula_label")->setLabel("Cedula: ".$datos_alumno[0][cedula]);  
        $form->get("matricula_label")->setLabel("Matricula: ".$solicitud[0][matricula]);
        $form->get("carrera_label")->setLabel("Carrera: ".$solicitud[0][carrera]);
        $form->get("telefono_label")->setLabel("Telefono: ".$datos_alumno[0][telefono]);
        $form->get("email_label")->setLabel("E-mail: ".$datos_alumno[0][email]);
       	$form->get("obs_sec")->setLabel("Observaciones del Secretario: ".'');

//***********************************************************************************************************
//        $form->get('id_oculto')->setAttribute('value',$id_usuario);
//        $form->get('rol_oculto')->setAttribute('value',$rol_usuario);
//***********************************************************************************************************

 	$form->get('mesa_oculto')->setAttribute('value',$mesa_entrada);

        return new ViewModel(array("titulo"=>"Solicitud de Examen Extraordinario",
                                    "form"=>$form, "requisito"=>$verificacion,
                                    "url"=>$this->getRequest()->getBaseUrl()
                                  ));
    }

    public function formulariorecAction()
    {
        $form = new Formularios("form");
        
        $this->dbAdapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter');
        $this->db2Adapter = $this->getServiceLocator()->get('Application\Db\AdapterTwo');
        $datos = $this->request->getPost();
        $mesa_entrada = $datos[mesa_oculto];

//***********************************************************************************************************
//	$id_usuario = $datos[id_oculto];
//	$rol_usuario = $datos[rol_oculto];
//***********************************************************************************************************

	//print_r($rol_usuario);

        $solicitud = $this->dbAdapter->query("SELECT id_tipo_solicitud, matricula, carrera
                                                     FROM solicitud_realizada
                                                     WHERE mesa_entrada = $mesa_entrada",Adapter::QUERY_MODE_EXECUTE);
        $solicitud = $solicitud->toArray();
        
        $procesa = new Procesa($mesa_entrada, $solicitud[0][id_tipo_solicitud], $this->dbAdapter, $this->db2Adapter);
        $datos_alumno = $procesa->ObtenerDatosAlumno(); 
         
        if ($solicitud[0][id_tipo_solicitud] == 1){ // CREDITOS
          $datos_formulario = $procesa->ObtenerDatosPorFormulario();
          $motivo = $procesa->ObtenerMotivo();
          $docadj = $procesa->ObtenerDocAdj();
        }
        if ($solicitud[0][id_tipo_solicitud] == 14){ // EXAMEN EXTRAORDINARIO
          $datos_formulario = $procesa->ObtenerDatosPorFormulario();
          $motivo = $procesa->ObtenerMotivo();
          $docadj = $procesa->ObtenerDocAdj(); 
          $form->get("asignatura_label")->setLabel("Asignatura: ".$datos_formulario[0][nombre_materia]);
          $form->get("profesor_label")->setLabel("Profesor: ".$datos_formulario[0][nombre_profesor]);
          $form->get("motivo_label")->setLabel("Motivo: ".$motivo[0][motivo]);
          $form->get("docadj_label")->setLabel("Documentos Adjuntos: ".$docadj[0][tipo_documento_anexo]);
        }
        
	$verif_req = new VerificadorRequisitos($mesa_entrada, $datos_alumno[0][cedula], $this->dbAdapter, $this->db2Adapter);
        $verificacion = $verif_req->VerificarRequisitos();
                       
        //se cargan a los labels los valores recuperados de la BD
        $form->get("apellido_label")->setLabel("Apellido: ".$datos_alumno[0][apellido]);
        $form->get("nombre_label")->setLabel("Nombre: ".$datos_alumno[0][nombre]);                    
        $form->get("cedula_label")->setLabel("Cedula: ".$datos_alumno[0][cedula]);  
        $form->get("matricula_label")->setLabel("Matricula: ".$solicitud[0][matricula]);
        $form->get("carrera_label")->setLabel("Carrera: ".$solicitud[0][carrera]);
        $form->get("telefono_label")->setLabel("Telefono: ".$datos_alumno[0][telefono]);
        $form->get("email_label")->setLabel("E-mail: ".$datos_alumno[0][email]);

//***********************************************************************************************************
//	$form->get('id_oculto')->setAttribute('value',$id_usuario);
//      $form->get('rol_oculto')->setAttribute('value',$rol_usuario);
//***********************************************************************************************************

 	$form->get('mesa_oculto')->setAttribute('value',$mesa_entrada);
		
        return new ViewModel(array("titulo"=>"Solicitud de Examen Extraordinario",
                                    "form"=> $form, "requisito"=>$verificacion,
                                    "url"=>$this->getRequest()->getBaseUrl()));
    }

    public function recibeAction()
    {
        return new ViewModel();
    }
}
